package Year22_Month06.day06;

import java.util.ArrayList;
import java.util.List;

public class N叉树的层序遍历_DFS {
    public List<List<Integer>> levelOrder(Node root) {
        List<List<Integer>> list = new ArrayList<>();//用list来保存每一层次的节点
        DFS(root,list,0);
        return list;
    }

    public void DFS(Node node,List<List<Integer>> list,int deepth){
        if(node == null){
            return;
        }
        if(list.size() == deepth){//如果来到了一个新的层次，那就要new一个新的arraylist出来啦
            list.add(new ArrayList<>());
        }
        list.get(deepth).add(node.val);//把当前节点加入对应的层次
        //遍历每个节点的child数组
        for(Node mynode:node.children){
            DFS(mynode,list,deepth+1);
        }
    }
}
